package com.hd.entity.activiti;

import java.io.Serializable;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.Table;

/**
 * 用户任务表
 * 
 * @author hzhh123 2018年7月30日下午2:04:15
 */
@Entity
@Table(name = "ACT_USER_TASK")
public class UserTask implements Serializable {
	private static final long serialVersionUID = 8889804050417208965L;
	public static final String SUPERIOR="PREV_SUPERIOR";//前一步上级
	public static final String POSITION="POSITION";//指定职位

	@Id
	@Column(name = "ID", unique = true)
	private String id;
	/**
	 * 流程定义KEY
	 */
	@Column(name = "PROC_DEF_KEY")
	private String procDefKey;
	/**
	 * 流程定义ID
	 */
	@Column(name = "PROC_DEF_ID")
	private String procDefId;
	/**
	 * 版本
	 */
	@Column(name="VERSION")
	private String version;
	/**
	 * 排序
	 */
	@Column(name="SEQ")
	private Integer seq;
	/**
	 * 流程定义名称
	 */
	@Column(name = "PROC_DEF_NAME")
	private String procDefName;
	/**
	 * 任务KEY
	 */
	@Column(name = "TASK_DEF_KEY")
	private String taskDefKey;
	/**
	 * 任务名称
	 */
	@Column(name = "TASK_NAME")
	private String taskName;

	/**
	 * 任务类型
	 */
	@Column(name = "TASK_TYPE")
	// 1.assignee.受理人(唯一) 1.candidateUser候选人(多个) 2.candidateGroup候选组（多个）
	// 3、assigneeOne,多个人中选择一个受理人   4、candidateUserMore 多个人中选择一个或多个候选人
	private String taskType; 
	/**
	 * 候选人/组名称
	 */
	@Column(name = "CANDIDATE_NAME")
	private String candidate_name; // 人或候选人或组的名称
	/**
	 * 候选人id集合
	 */
	@Column(name = "CANDIDATE_IDS")
	private String candidate_ids;
	
	/**
	 * 当taskType=assigneeOne||candidateUserMore时默认的被选项人员名称
	 */
//	@Column(name = "DEFAULT_CANDIDATE_NAME")
//	private String defaultCandidateName;
	/**
	 * 当taskType=assigneeOne||candidateUserMore时默认的被选项人员id集合
	 */
//	@Column(name = "DEFAULT_CANDIDATE_IDS")
//	private String defaultCandidateIds;
	/**
	 * 选择模式
	 */
	@Column(name = "SELECT_MODEL")
	private String selectModel;
	/**
	 * 选择模式后的条件ID
	 */
	@Column(name="CONDITION_ID")
	private String conditionId;
	@Column(name="CONDITION_NAME")
	private String conditionName;
	/**
	 * sql语句参数
	 */
//	@Column(name="SQL_PARAMS")
//	private String sqlParams;
	/**
	 * sql描述
	 */
//	@Column(name="SQL_REMARK")
//	private String sqlRemark;
	/**
	 * 任务类别
	 * 0-单任务
	 * 1-并行任务
	 * 2-多实例
	 */
	@Column(name="TASK_CATEGORY")
	private String taskCategory;
	public String getId() {
		return id;
	}

	public void setId(String id) {
		this.id = id;
	}

	public String getProcDefKey() {
		return procDefKey;
	}

	public void setProcDefKey(String procDefKey) {
		this.procDefKey = procDefKey;
	}

	public String getProcDefName() {
		return procDefName;
	}

	public void setProcDefName(String procDefName) {
		this.procDefName = procDefName;
	}

	public String getTaskDefKey() {
		return taskDefKey;
	}

	public void setTaskDefKey(String taskDefKey) {
		this.taskDefKey = taskDefKey;
	}

	public String getTaskName() {
		return taskName;
	}

	public void setTaskName(String taskName) {
		this.taskName = taskName;
	}

	public String getTaskType() {
		return taskType;
	}

	public void setTaskType(String taskType) {
		this.taskType = taskType;
	}

	public String getCandidate_name() {
		return candidate_name;
	}

	public void setCandidate_name(String candidate_name) {
		this.candidate_name = candidate_name;
	}

	public String getCandidate_ids() {
		return candidate_ids;
	}

	public void setCandidate_ids(String candidate_ids) {
		this.candidate_ids = candidate_ids;
	}

	public String getSelectModel() {
		return selectModel;
	}

	public void setSelectModel(String selectModel) {
		this.selectModel = selectModel;
	}

	public String getTaskCategory() {
		return taskCategory;
	}

	public void setTaskCategory(String taskCategory) {
		this.taskCategory = taskCategory;
	}

	public String getProcDefId() {
		return procDefId;
	}

	public void setProcDefId(String procDefId) {
		this.procDefId = procDefId;
	}

	public String getVersion() {
		return version;
	}

	public void setVersion(String version) {
		this.version = version;
	}

	public Integer getSeq() {
		return seq;
	}

	public void setSeq(Integer seq) {
		this.seq = seq;
	}

	public String getConditionId() {
		return conditionId;
	}

	public void setConditionId(String conditionId) {
		this.conditionId = conditionId;
	}

	public String getConditionName() {
		return conditionName;
	}

	public void setConditionName(String conditionName) {
		this.conditionName = conditionName;
	}
	
	
	
}
